# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：Chap02.py
# 开发时间：2021/3/4 16:16

# 第二章 Python基础
# 1.py数据类型
print('go big or go home')
str1 = 'd=====(￣▽￣*)b'
print(str1)
str2 = '(￣▽￣)"'
print(str2)
print('如何再PyCharm里创建项目')
c = 1.1 + 1.8
print(c)
s = 'hello,you can do it'
print(s)
# b = "孙悟空住在 %s" % "花果山"
b = "孙悟空住在%s%s" % ("花果山", "水帘洞")
print(b)

# 用四种方法输出你的id
d = "Maverick·Ming"
print('d = ' + d)
print('d = %s' % "Maverick·Ming")
print(f'd = {d}')
print(d)

# 用四种方法输出你的id（大佬方法）
name = "Maverick·Ming"
print('my name is ' + name + ' !')  # 拼接字符串
print('my name is', name, '!')  # 多个参数，输出参数间会自动加空格
print('my name is %s !' % 'Maverick·Ming')  # 占位符
print(f'my name is {name} !')  # 格式化字符串

# 字符串复制
str3 = '复制我吧 '
copy_str3 = str3 * 3
print(copy_str3)
print(str3 * 3)

# boolean bool 布尔值 主要用来做逻辑判断 true 真 false 假
print(0 + True)
print(0 + False)

# 空值 Null None
n = None
print(n)
print(None)

# 8.类型检查 type()
a9 = 123
b9 = '123'
print("\n类型检查")
print(type(a9))
print(type(b9))
print(type(1))
print(type(1.2))
print(type('string'))
print(type(True))
print(type(None))

# 9.对象(object) py是面向对象的语言，数据存在内存中
# 对象都存在3个内容：id，type，value
print("\n对象3要素：id,type,value")
print(id(a9))
print(type(a9))
print(a9)

# 10.类型转换,不是改变对象本身，而是新建一个对象
print("\n类型转换")
a10 = True
# a10 = None
# a10 = 11.2
# a10 = "hello"
print("a10 = ", a10)
print("a10 type is =", type(a10))
print("将a10转换int")
a10 = int(a10)
# a10 = float(a10)
# a10 = bool(a10)
# a10 = str(a10)
print("a10 = ", a10)
print("a10 type is =", type(a10))

# 11.算术运算符
print("\n11.算术运算符")
a11 = 10
b11 = 5
print("a11 + b11", a11 + b11)
print("a11 - b11", a11 - b11)
print("a11 * b11", a11 * b11)
print("a11 / b11", a11 / b11)
# python除法总会返回一个浮点值
# 整除符号 //
# 幂运算 **
# 取模求余 %
print("10 // 3 = ", 10 // 3)
print("2的2次方=", 2 ** 2)
print("10 % 4 =", 10 % 4)

# 12.赋值运算符 =
# +=
# -=
# *=
# /=
# **=
# //=
# %=
print("\n12.赋值运算符")
a12 = 10
# a12 = a12 + 5
a12 += 5
print(a12)

# 13.关系运算符：比较两个值间的关系，总返回boolean值
print("\n13.关系运算符")
# >
# >=
# <
# <=
# ==
# !=
# 这些比较的是对象的value，而非id
# is
# is not
# 这俩比较两个对象的id，比较是否是同一个对象
result = 10 > 20
print(result)
# str比较的是Unicode编码大小，逐一比较，从左边第一位比较

# 14.逻辑运算符 not and or（java中是|| && or）
print("\n逻辑运算符")

# 15.条件运算符 if else
print("15.条件运算符：if else")
a15 = 10
b15 = 20
# print("a的值比较大") if a15 > b15 else print("b的值比较大")
if a15 > b15:
    print("a的值比较大")
else:
    print("b的值比较大")

# 16.运算符的优先级,实在不清楚可以用中括号


